feat: multi_scalar_mul blackbox func - #6097
Conversation
|
This stack of pull requests is managed by Graphite. Learn more about stacking. |
multi_scalar_mul blackbox func
34ecebb to
cb0745a
Compare
| cycle_scalar_ct scalar(scalar_low_as_field, scalar_high_as_field); | ||
|
|
||
| // We multiply input point with the scalar to get the output point of this iteration | ||
| auto iteration_output_point = input_point * scalar; |
There was a problem hiding this comment.
My reasoning for an MSM opcode is that we have optimised versions of MSM in barretenberg which avoid doing many inversions when there's lots of terms in the sum. It would be good to use this rather than brute forcing it like this.
Fairly sure it's called batch_mul but can't check rn.
There was a problem hiding this comment.
Ok ok, will refactor it. Thanks
There was a problem hiding this comment.
cb0745a to
4940947
Compare
Changes to circuit sizes
🧾 Summary (100% most significant diffs)
Full diff report 👇
|
5fc4212 to
a3f7882
Compare
| @@ -1,70 +0,0 @@ | |||
| // TODO(https://github.com/noir-lang/noir/issues/4932): rename this file to something more generic | |||
There was a problem hiding this comment.
Renamed this as embedded_curve_ops.rs
56dfb38 to
46749ac
Compare
| @@ -1,6 +0,0 @@ | |||
| use crate::grumpkin_scalar::GrumpkinScalar; | |||
There was a problem hiding this comment.
Decided to nuke this as it was used only in 1 place in aztec-packages and it's completely unnecessary.
2ff2a58 to
e4f2a8e
Compare
e4f2a8e to
b23f7fc
Compare

Fixes noir-lang/noir#4928
Fixes noir-lang/noir#4932
Note: Noticed that we have lookup table for fixed base in BB. Not sure if it's still needed after nuking the fixed based scalar mul.